package com.android.common.view;

import android.app.Dialog;
import android.content.Context;
import android.view.Gravity;
import android.view.View;
import android.view.WindowManager.LayoutParams;
import android.widget.Button;

import com.android.common.R;
import com.android.common.util.DialogUtil;

public class BottomDialog extends Dialog {

	public static final int TAG_KEY = -2;

	/**
	 * 最多支持4个button
	 * 
	 * @param context
	 * @param buttonNames
	 * @param onClickListeners
	 */
	public BottomDialog(Context context, String buttonNames[],
			android.view.View.OnClickListener[] onClickListeners) {
		// dialog的视图风格
		super(context, R.style.theme_bottom_dialog);
		// 设置布局文件
		initView();
		/**
		 * 加入监听器 button名字命名
		 */
		int[] buttonIds = new int[] { R.id.one, R.id.two, R.id.three, R.id.four };
		int i = 0;
		for (android.view.View.OnClickListener listener : onClickListeners) {
			Button button = (Button) findViewById(buttonIds[i]);
			button.setText(buttonNames[i]);
			button.setOnClickListener(listener);
			button.setVisibility(View.VISIBLE);
			button.setTag(TAG_KEY, this);
			i++;
		}
		android.view.View.OnClickListener Listener = new android.view.View.OnClickListener() {
			@Override
			public void onClick(View v) {
				DialogUtil.dimissDialog(BottomDialog.this);
			}
		};
		findViewById(R.id.cancel).setOnClickListener(Listener);
		// show();
	}

	private void initView() {
		setContentView(R.layout.dialog_bottom);
		setCanceledOnTouchOutside(true);
		// 在下面这种情况下，后台的activity不会被遮盖，也就是只会遮盖此dialog大小的部分
		LayoutParams layoutParams = getWindow().getAttributes();
		layoutParams.gravity = Gravity.BOTTOM;
		layoutParams.width = LayoutParams.FILL_PARENT;
		getWindow().setAttributes(layoutParams);
	}

}
